package tp.model;

import java.util.Iterator;
import java.awt.Component;

import tp.view.*;
import tp.controller.Controlador;

public class NucleoGris extends Nucleo {

	public NucleoVistaGris miVista;

	public NucleoGris(Posicion pos) {
		super(pos);
		miVista = new NucleoVistaGris(this);
		// setVivo(true);
		Controlador.controlador.ListaChocables.add(this);
	}

	public void meDestruyo() {
		// mostraria que hace explosion o algo similar
		// tendria que avisarle al controlador que se fue al joraca
		if (miNave != null) {
			Controlador.setPuntaje(this.getPuntaje());
			Iterator it = Controlador.controlador.ListaChocables.iterator();
			boolean encontrado = false;
			while (it.hasNext() && !encontrado) {
				Chocable choc = (Chocable) it.next();
				if (choc.getClase() == "Bola") {
					encontrado = true;
					Bola bolaaux = new BolaDeFuego();
					bolaaux.setMiPosicion(choc.getMiPosicion());
					bolaaux.setMiDireccion(choc.getMiDireccion().getX(), choc
							.getMiDireccion().getY());
					bolaaux.setMiPosicionVieja(choc.getMiPosicionVieja());
					bolaaux.setVelocidad(((Bola) choc).getVelocidad());
					choc.setVivo(false);
					miNave.setBolaDeFuego();
					if (miNave.getBola() != null) {
						miNave.setBola(bolaaux);
					}
				}
			}
		} else {
			this.miVista.Destruir();
		}
		this.setVivo(false);
		this.setVida(0);
	}

	public Component getMiVista() {
		return miVista;
	}
}
